package com.hhkj.api.student.service.biz;

import com.hhkj.admin.course.model.dopo.CoursePo;
import com.hhkj.admin.student.domain.Student;
import com.hhkj.admin.student.model.dopo.StudentPo;
import com.hhkj.api.student.model.InfoRes;
import com.hhkj.api.common.session.holder.model.LoginStudent;

import java.util.List;

/**
 * 学员Service接口
 *
 * @author ruoyi
 * @since 2023-06-08
 */
public interface ApiStudentBizService
{

    /**
     * 获取当前学员登录信息
     *
     * @return 学员信息
     */
    InfoRes get();

    /**
     * 小程序学员登录
     *
     * @param studentReq 登录入参
     * @return 登录信息
     */
    LoginStudent login(Student studentReq);

    /**
     * 登录学生信息
     *
     * @param student 学生信息
     * @return 学生登录信息
     */
    LoginStudent doLogin(Student student);

    /**
     * 小程序学员退出登录
     *
     * @param studentReq 登出入参
     * @return 删除缓存结果
     */
    boolean logout(LoginStudent studentReq);

    /**
     * 校验身份证号密码，并返回科目列表
     *
     * @param studentReq 传参
     * @return 该学生的科目
     */
    List<StudentPo> listCourse(Student studentReq);

    boolean saveStudentAndCourse(Student studentReq);

    public List<CoursePo> listFreeCourseByParentId(Long parentId);

    LoginStudent loginNew(Student studentReq);
}
